1. Field of the Invention
This invention relates to the field of unidirectional wireless communications, and in particular to a method of causing a status indicator on the transmitter side of a unidirectional wireless communication system to reflect a status of a function having two possible initial states on the receiver side of the unidirectional communication system.
The invention also relates to a wireless keyboard arrangement, and to a method of causing indicator lights on the wireless keyboard to reflect the status of a function controlled by the keyboard when the initial status of the function is unknown.
2. Description of Related Art
(a) Introduction
Many computer peripherals serve primarily as input devices and therefore generally communicate with the computer in only one direction. Examples of such devices include keyboards, scanners, and joysticks or mice.
Even though most of the communications are unidirectional, however, such input devices often include status indicators or other features that require synchronization or feedback from the computer, and therefore at least intermittent bi-directional communications capabilities.
This situation occurs, for example, in the case of a keyboard having indicator lights that must reflect the status of functions toggled by keys on the keyboard, i.e., functions that switch between two states each time a key on the keyboard is pressed, but whose initial state can be arbitrarily switched so that when communications are first established, the state of the function is unknown to the keyboard and therefore cannot be reflected by the indicator. In that case, it has conventionally been considered essential to provide some way for the computer to send status signals to the keyboard, at least during initialization, that in effect synchronize the indicator to the previously unknown state of the corresponding function.
Although the invention may have broad applicability outside the context of the keyboard arrangements described in detail below, or possibly even outside the context of computer peripherals, the nature of the problem addressed by the present invention, and of its solution, are clearly demonstrated by the keyboard example. Essentially, the problem arises when the conventional wires connecting the keyboard and other peripheral are replaced by a wireless communications arrangement.
Because of the unidirectional nature of most of the communications, it is seldom cost effective to include both a transmitter and a receiver on the keyboard, and therefore the conventional wireless keyboard or peripheral input device does not include a receiver, eliminating the possibility of two-way communication with a computer.
As a result, the conventional wireless peripheral has generally been designed to eliminate any features, such as indicator lights, that require signals to be sent from the computer to the peripheral, opposite the primary direction of data flow. The present invention, on the other hand, effectively simulates the bidirectional communications of the conventional wired communications system, allowing the features such as indicator lights to be included in the wireless peripheral, even though only unidirectional communications are permitted.
(b) The Conventional Wired Keyboard
FIG. 1 illustrates an example of a conventional wired keyboard arrangement made up of a keyboard 1 connected to a computer 2 by a wire 3. As is well-known, the keyboard 1 includes certain control keys that cause keyboard-interpretation or display functions of the computer to toggle between one of two states. Each time one of these control keys is pressed, a signal is sent to the computer that causes the display function to change its state.
Examples of display functions toggled in this manner include:
(i) a "Num Lock" function, controlled by a "Num Lock" key, which causes the program in the computer that interprets signals received from keys on a numeric keypad to be toggled, or switched back and forth, between a state in which the signals are interpreted as numbers and a state in which the keys control movement of a cursor, PA1 (ii) a "Caps Lock" function, controlled by a "Caps Lock" key, which causes the program in the computer that interprets signals received from letter keys to be toggled between a state in which the signals are interpreted as small letters and a state in which the signals are interpreted as capital letters, and PA1 (iii) a "Scroll Lock" function, toggled on and off by a "Scroll Lock" key which controls scrolling or movement of text and images vertically on a monitor or display.
In order to enable the user of the keyboard to keep track of the current state of these functions, indicator lights 4-6 are included on the keyboard. Each time one of the corresponding control keys is pressed, the indicator lights are toggled on and off. In the case of the above-listed functions, illumination of the indicator lights respectively indicates that the signals from keys on the numeric keypad are being interpreted as numbers, that signals from letter keys are being interpreted and displayed as capital letters, and that the display is being prevented from scrolling text and images. The indicator lights may be placed on the keys themselves, or elsewhere on the keyboard, but in any case are positioned so that the user of the keyboard can easily refer to them by glancing down at the keyboard.
Signals originating from the keyboard are generally interpreted by the operating system or basic input/output system (BIOS) program installed in the computer, so that commands can be input through the keyboard as soon as the computer is turned on. In order to keep track of the current status of the control functions, the operating system maintains lists or files containing entries concerning the current status of the control functions. For convenience, the entries for the control functions are illustrated in FIG. 1 as being in the form of a single status table 7, although in practice different control function entries may be stored in multiple different memory areas or files on the computer. In use, each time one of the control keys is pressed, the appropriate entry on the table 7 is updated and referred to by the currently running program so that signals from the numeric keypad or letter keys will be correctly interpreted, and/or so that scroll instructions in a program implemented as desired.
In some cases, the initial setting of the control function may be set by convention. For example, it is convenient to always set the Scroll Lock function to an off state when the computer is turned on. However, in other cases, preferences as to the initial state of the function can vary, and thus the operating system may be designed to permit the initial state of the control function to be programmed. For example, the initial state of the Num Lock can be set to either of the two possible states using a command that can be included in the Autoexec batch file of a DOS or Windows.TM. computer . In the illustrated example, the Num Lock function is on, so that the computer will initially interpret signals from the numeric keypad as numbers rather than cursor movement commands, while signals from the letter keys are interpreted as small letters and the scroll lock function is off. Subsequent to turning on the computer, functions corresponding to the default status table entries are toggled each time a signal from one of the control keys is received, but the entries will appear as in FIG. 1 whenever the computer is turned on, until intentionally changed by, for example, editing the Autoexec batch file, irrespective of the state of the functions when the computer is turned off.
In order to indicate to the user the status of the functions in this example, it is necessary to turn the Num Lock indicator on when the computer is turned on, while leaving the Caps Lock and Scroll Lock indicators off. However, if the initial status of the Num Lock function is changed, so that when the computer is turned on again, the Num Lock function is off, then the Num Lock indicator must initially be turned off. As a result, because the status entry could have either of two possible states when the computer is turned on, and the keyboard does not initially know to which state the function has been set, the computer must initially send a signal to the keyboard over wire 3 indicating the status of the Num Lock function. In the illustrated example, upon initialization of the computer, a Num Lock ON signal will be sent to the keyboard, turning the Num Lock indicator on. Aside from the initial status of the control functions, no other signals need be sent from the computer to the keyboard.
The procedure for synchronizing indicators 4-6 with entries in the default status table 7 is summarized in FIG. 2. Whenever an initialization routine 100 is run, for example whenever the computer is turned on or reset, the computer checks the status entry for all keyboard functions that can initially be toggled (step 110) and sends a command to the keyboard (step 120) to light the appropriate LED based on the state of a corresponding entry in the keyboard function list 7 stored in the memory of the computer 2 (step 130). Thereafter, during the keyboard data input routine 140 for interpreting signals from the keyboard, whenever the keyboard function control key is pressed (step 150), a signal is sent to the computer to change the entry in the status table (160), and the corresponding indicator light is changed accordingly (step 170).
As a result, in this type of system, although the indicator light will remain in synchronism with the status table so long as the computer is running and the default table has not been intentionally changed, in order to achieve the initial synchronization, the keyboard must be capable of receiving signals from the computer that indicate the initial status of entries in the status table. The next section will describe the problem addressed by the present invention, which involves wireless -keyboards of the type illustrated in FIG. 3 rather than wired keyboards of the type illustrated in FIG. 2.
(c) The Problem--One Way Wireless Communications Systems
Although the conventional wired keyboard control arrangement has proven completely satisfactory, and is widely used, a problem arises in the case of wireless keyboards. In order to eliminate cables and enable more flexible use of the keyboard, wireless keyboard arrangements have been developed that include a receiver wired to the computer and a transmitter for sending signals representative of pressed keys to the receiver. However, as mentioned above, because the vast majority of communications between the keyboard and the computer are from the keyboard to the computer, it is generally uneconomical to include a receiver on the keyboard, and thus the conventional wireless keyboard system only permits unidirectional communication from the keyboard to the computer, eliminating the possibility of having the computer signal the initial status of entries in the status table so that the indicator will assume the appropriate ON or OFF status according to the initial state of the status table entries, and thereafter remain in synchronism with the function whenever it is toggled. Consequently, it is impossible in a conventional wireless keyboard system for the keyboard to determine how the computer is set to interpret the initial state of the keyboard function keys.
The conventional solution to this problem is demonstrated by the keyboard arrangement illustrated in FIG. 3, which includes a keyboard 8 having a transmitter 9 for communicating with a receiver 10. Receiver 10 is connected by a wire 11 to the computer 12, and includes indicator lights 13-15 that depend on initial status updates from status entries 16 stored in the computer. The reason that the indicator lights 13-15 are mounted on the receiver 10, rather than on the keyboard 8, is of course because the receiver can receive default status signals from the computer via wire 11, the keyboard control routine being exactly the same as the one illustrated in FIG. 2, with the only difference being the position of the indicator lights on the receiver rather than on the computer.
Although positioning of the indicator lights in this manner eliminates the need for a receiver on the keyboard, however, such positioning of the indicator lights away from the keyboard is often not satisfactory. For example, because most keyboard users are accustomed to the indicator lights being on the keyboard, the user will be greatly inconvenienced if the keyboard is located far from the computer, or at an angle which makes the indicator lights difficult to see, resulting in reduced typing efficiency as time is wasted re-typing incorrectly interpreted commands due to the control key having been unintentionally pressed.
(d) Generalization of the Wireless Keyboard Indicator Problem
The problem of illuminating indicator lights on a keyboard in a wireless keyboard system may be generalized, as illustrated in FIG. 4, to any one-way communications system in which toggle commands associated with an indicator or other status dependent function 40 are sent by a transmitter 41 to a receiver 42 in order to toggle a control function 43 at the receiver side whose initial status is unknown by the transmitter side, and in which the status dependent function 40 on the transmitter side must be synchronized with the receiver side function 43. While the principles of the present invention may not be applicable to all such arrangements, it is intended that the present invention be considered to cover all arrangements of the type illustrated in FIG. 4 except those to which the principles of the invention, described below, cannot be applied, to the extent that such coverage is permitted by the prior art.
Essentially, the invention is intended to apply to any one-way communications system, whether wired or not, that is intended to replace a two-way communications system of the type in which toggle commands are verified by providing an indicator or other feature responsive to confirmation signals transmitted in a direction opposite the direction allowed by the one-way communications system, in order to ensure that the indicator or other feature is synchronized with the current state of the function controlled by the toggle commands. In addition, the functions to which the invention may be applied are intended to encompass functions other than the control key functions mentioned above, so that by way of example, if the toggle commands cause a function to change from state A to state B, then the indicator must initially indicate state A and subsequently indicate state B, even in situations where the initial state of the function could be either A or B.